home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / allowo1g / domtable.frm < prev    next >
Text File  |  1999-08-27  |  26KB  |  812 lines

  1. VERSION 5.00
  2. Object = "{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}#1.1#0"; "SHDOCVW.DLL"
  3. Begin VB.Form frmDOMTable 
  4.    Caption         =   "DOM Demo"
  5.    ClientHeight    =   3885
  6.    ClientLeft      =   60
  7.    ClientTop       =   630
  8.    ClientWidth     =   5940
  9.    LinkTopic       =   "Form1"
  10.    MDIChild        =   -1  'True
  11.    ScaleHeight     =   3885
  12.    ScaleWidth      =   5940
  13.    WindowState     =   2  'Maximized
  14.    Begin SHDocVwCtl.WebBrowser wbr 
  15.       Height          =   3675
  16.       Left            =   120
  17.       TabIndex        =   0
  18.       Top             =   120
  19.       Width           =   5715
  20.       ExtentX         =   10081
  21.       ExtentY         =   6482
  22.       ViewMode        =   1
  23.       Offline         =   0
  24.       Silent          =   0
  25.       RegisterAsBrowser=   0
  26.       RegisterAsDropTarget=   1
  27.       AutoArrange     =   -1  'True
  28.       NoClientEdge    =   0   'False
  29.       AlignLeft       =   0   'False
  30.       ViewID          =   "{0057D0E0-3573-11CF-AE69-08002B2E1262}"
  31.       Location        =   ""
  32.    End
  33.    Begin VB.Menu mnuFileMenu 
  34.       Caption         =   "&File"
  35.       Begin VB.Menu mnuFile 
  36.          Caption         =   "&HTML"
  37.          Index           =   0
  38.       End
  39.       Begin VB.Menu mnuFile 
  40.          Caption         =   "&Recurse"
  41.          Index           =   1
  42.       End
  43.       Begin VB.Menu mnuFile 
  44.          Caption         =   "S&tructure"
  45.          Index           =   2
  46.       End
  47.       Begin VB.Menu mnuFile 
  48.          Caption         =   "St&yle"
  49.          Index           =   3
  50.       End
  51.       Begin VB.Menu mnuFile 
  52.          Caption         =   "-"
  53.          Index           =   4
  54.       End
  55.       Begin VB.Menu mnuFile 
  56.          Caption         =   "Save &As..."
  57.          Index           =   5
  58.       End
  59.       Begin VB.Menu mnuFile 
  60.          Caption         =   "-"
  61.          Index           =   6
  62.       End
  63.       Begin VB.Menu mnuFile 
  64.          Caption         =   "Page Set&up..."
  65.          Index           =   7
  66.       End
  67.       Begin VB.Menu mnuFile 
  68.          Caption         =   "&Print..."
  69.          Index           =   8
  70.       End
  71.       Begin VB.Menu mnuFile 
  72.          Caption         =   "-"
  73.          Index           =   9
  74.       End
  75.       Begin VB.Menu mnuFile 
  76.          Caption         =   "&Close"
  77.          Index           =   10
  78.       End
  79.    End
  80.    Begin VB.Menu mnuDemoMenu 
  81.       Caption         =   "Demo"
  82.       Begin VB.Menu mnuDemo 
  83.          Caption         =   "Progress Display"
  84.          Index           =   0
  85.       End
  86.       Begin VB.Menu mnuDemo 
  87.          Caption         =   "Load Table"
  88.          Enabled         =   0   'False
  89.          Index           =   1
  90.       End
  91.       Begin VB.Menu mnuDemo 
  92.          Caption         =   "Show Table"
  93.          Enabled         =   0   'False
  94.          Index           =   2
  95.       End
  96.       Begin VB.Menu mnuDemo 
  97.          Caption         =   "Format"
  98.          Enabled         =   0   'False
  99.          Index           =   3
  100.       End
  101.       Begin VB.Menu mnuDemo 
  102.          Caption         =   "-"
  103.          Index           =   4
  104.       End
  105.       Begin VB.Menu mnuDemo 
  106.          Caption         =   "All"
  107.          Index           =   5
  108.       End
  109.    End
  110.    Begin VB.Menu mnuOptMenu 
  111.       Caption         =   "&Options"
  112.       Begin VB.Menu mnuOpt 
  113.          Caption         =   "&Format"
  114.          Index           =   0
  115.       End
  116.       Begin VB.Menu mnuOpt 
  117.          Caption         =   "&Background"
  118.          Index           =   1
  119.          Begin VB.Menu mnuBGround 
  120.             Caption         =   "&Blue binder"
  121.             Index           =   1
  122.          End
  123.          Begin VB.Menu mnuBGround 
  124.             Caption         =   "&Green binder"
  125.             Index           =   2
  126.          End
  127.       End
  128.       Begin VB.Menu mnuOpt 
  129.          Caption         =   "&Caption"
  130.          Index           =   2
  131.       End
  132.       Begin VB.Menu mnuOpt 
  133.          Caption         =   "-"
  134.          Index           =   3
  135.       End
  136.       Begin VB.Menu mnuOpt 
  137.          Caption         =   "Scroll Bar"
  138.          Index           =   4
  139.       End
  140.       Begin VB.Menu mnuOpt 
  141.          Caption         =   "-"
  142.          Index           =   5
  143.       End
  144.       Begin VB.Menu mnuOpt 
  145.          Caption         =   "Context Menu"
  146.          Index           =   6
  147.          Begin VB.Menu mnuContext 
  148.             Caption         =   "&Default"
  149.             Checked         =   -1  'True
  150.             Index           =   0
  151.          End
  152.          Begin VB.Menu mnuContext 
  153.             Caption         =   "&File"
  154.             Index           =   1
  155.          End
  156.          Begin VB.Menu mnuContext 
  157.             Caption         =   "&Options"
  158.             Index           =   2
  159.          End
  160.       End
  161.    End
  162. End
  163. Attribute VB_Name = "frmDOMTable"
  164. Attribute VB_GlobalNameSpace = False
  165. Attribute VB_Creatable = False
  166. Attribute VB_PredeclaredId = True
  167. Attribute VB_Exposed = False
  168. Option Explicit
  169. ' DOMTable.frm  July 1999   contact markb@orionstudios.com
  170. ' Demonstrates DOM manipulation from Vb6 including
  171. '   build document in empty WebBrowser Control
  172. '   build DIV element as progress display
  173. '   build a Stylesheet
  174. '   convert tab-deliited text to HTML Table with
  175. '       Header, Footer, Caption, Column definitions
  176. '   enable/disable formatting
  177. '   replace standard context (right-click) popup menu
  178. '   set document title, table caption
  179. '   saving constructed document as HTML
  180. '
  181. ' Requires Project/References entry for
  182. '   Microsoft HTML Object Library (MSHTML.tlb)
  183. '====================================================================================
  184. '
  185. ' Module-level VARIABLES
  186. '
  187. Private mDefaultPath As String      ' set in Form_Load
  188. Private mDataFileSpec As String     ' Name of tab-delimited data file
  189. Private mvarMDIParent As MDIForm    ' useful to access parent form - see StatusText
  190. Private mDemoDoc As MSHTML.HTMLDocument ' = wbr.document (see wbr_DocumentComplete)
  191. Private mDemoBody As MSHTML.HTMLBody    ' = wbr.document.body
  192. Private mTable As MSHTML.HTMLTable      ' returned from mListToHTML.FileToDOM
  193. Private mStyleSheet As MSHTML.HTMLStyleSheet    ' returned from BuildStyleSheet
  194. Private WithEvents mHTMLDocEvents As MSHTML.HTMLDocument    ' captures right-click
  195. Attribute mHTMLDocEvents.VB_VarHelpID = -1
  196. Private WithEvents mListToHTML As ListToHTML    ' converts mDataFileSpec to HTML
  197. Attribute mListToHTML.VB_VarHelpID = -1
  198. Private mContextOption As Long  ' current context menu selection
  199. ' Module-level variables for Progress Display
  200. Private mProgressDisplay As MSHTML.HTMLDivElement
  201. Private mProgressRow As MSHTML.IHTMLDOMTextNode
  202. Private mProgressBarStyle As MSHTML.HTMLStyle
  203. Private WithEvents mProgressCancel As MSHTML.HTMLButtonElement ' Life cycle = mListToHTML
  204. Attribute mProgressCancel.VB_VarHelpID = -1
  205. Private mTotalRows As Long  ' helps calculate percentage for progress Bar
  206. '
  207. ' Module-level CONSTANTS
  208. '
  209. Private Const START_HTML = "<BODY style=overflow:auto></BODY>"
  210. ' File Menu Constants
  211. Private Const FILE_HTML = 0
  212. Private Const FILE_RECURSE = 1
  213. Private Const FILE_STRUCTURE = 2
  214. Private Const FILE_STYLE = 3
  215. Private Const FILE_SAVEAS = 5
  216. Private Const FILE_PAGESETUP = 7
  217. Private Const FILE_PRINT = 8
  218. Private Const FILE_CLOSE = 10
  219. ' Demo menu constants
  220. Private Const DEMO_PROGRESS = 0
  221. Private Const DEMO_LOAD = 1
  222. Private Const DEMO_SHOW = 2
  223. Private Const DEMO_FORMAT = 3
  224. Private Const DEMO_ALL = 5
  225. ' Option menu constants
  226. Private Const OPT_FORMAT = 0
  227. Private Const OPT_BGROUND = 1
  228. Private Const OPT_CAPTION = 2
  229. Private Const OPT_SCROLL = 4
  230. ' Context menu constants
  231. Private Const CTX_DEFAULT = 0
  232. Private Const CTX_FILE = 1
  233. Private Const CTX_OPT = 2
  234. ' Background menu constants
  235. Private Const BG_BLUEBINDER = 1
  236. Private Const BG_GREENBINDER = 2
  237. ' Module-level Constants
  238. ' Relevant nodeType constants
  239. Private Const ELEMENT_NODE = 1
  240. Private Const TEXT_NODE = 3
  241. ' Browser navigation constants
  242. Private Const navNoHistory = 2
  243.  
  244. Public Property Let DataFileSpec(ByVal vData As String)
  245.     mDataFileSpec = vData
  246. End Property
  247.  
  248. Public Property Set MDIParent(vData As MDIForm) ' optional
  249.    Set mvarMD